/*
 * TipoMetodo.java
 *
 * Copyright 2011 Universidad Francisco de Paula Santander (UFPS).
 * Todos los Derechos Reservados.
 * Creado el 2/03/2011, 07:30:49 PM
 */

package com.ufps.cuatro.modelo.representacion;

/**
 * <i><b>TipoMetodo:</b></i>Permite identificar el Tipo de Metodo que encapsulará el
 * <code>ComponenteGeneradorMetodo</code>.
 * 
 * @author Carlos A. Torres C. - Dolly E. Guerrero. <https://code.google.com/p/tesis4dor/>
 * @version 1.0 2/03/2011
 */
public enum TipoMetodo {
   
	/**
	 * Indica que el <code>Method</code> encapsulado por el <code>ComponenteGeneradorMetodo</code>
	 * cumple con las propiedades de los métodos Get, es decir pueden devolver
	 * una propiedad de una Clase. Sin embargo no necesariamente esta regla se cumple
	 * en todos los casos, es responsabilidad del usuario determinar si el método devuelve
	 * una propiedad.
	 */
	eGetter,
	/**
	 * Indica que el <code>Method</code> encapsulado por el <code>ComponenteGeneradorMetodo</code>
	 * cumple con las propiedades de los métodos Set, es decir pueden inicializar
	 * una propiedad de una Clase. Sin embargo no necesariamente esta regla se cumpla
	 * en todos los casos, es responsabilidad del usuario determinar si el método inicializa
	 * una propiedad.
	 */
	eSetter,
	/**
	 * Indica que el <code>Method</code> encapsulado por el <code>ComponenteGeneradorMetodo</code>
	 * realiza procesamiento con inicialización de parametros y devolución de resultado
	 * esos métodos requieren un analisis complejo por lo tanto queda delegado a la responsabilidad
	 * del usuario.
	 */
	eProcessWithParamAndReturn,
	/**
	 * Indica que el <code>Method</code> encapsulado por el <code>ComponenteGeneradorMetodo</code>
	 * realiza procesamiento con inicialización de parametros 
	 * esos métodos requieren un analisis complejo por lo tanto queda delegado a la responsabilidad
	 * del usuario.
	 */
	eProcessWithParam,	
	/**
	 * Indica que el <code>Method</code> encapsulado por el <code>ComponenteGeneradorMetodo</code>
	 * realiza procesamiento 
	 * esos métodos requieren un analisis complejo por lo tanto queda delegado a la responsabilidad
	 * del usuario.
	 */
	eProcess;	
}
